package com.ruoyi.bl.mapper;

import java.util.List;
import com.ruoyi.bl.domain.BlDeliveryDoc;

/**
 * 发货和配送单Mapper接口
 * 
 * @author ruoyi
 * @date 2024-12-07
 */
public interface BlDeliveryDocMapper 
{
    /**
     * 查询发货和配送单
     * 
     * @param deliveryId 发货和配送单主键
     * @return 发货和配送单
     */
    public BlDeliveryDoc selectBlDeliveryDocByDeliveryId(Long deliveryId);

    /**
     * 查询发货和配送单列表
     * 
     * @param blDeliveryDoc 发货和配送单
     * @return 发货和配送单集合
     */
    public List<BlDeliveryDoc> selectBlDeliveryDocList(BlDeliveryDoc blDeliveryDoc);

    /**
     * 新增发货和配送单
     * 
     * @param blDeliveryDoc 发货和配送单
     * @return 结果
     */
    public int insertBlDeliveryDoc(BlDeliveryDoc blDeliveryDoc);

    /**
     * 修改发货和配送单
     * 
     * @param blDeliveryDoc 发货和配送单
     * @return 结果
     */
    public int updateBlDeliveryDoc(BlDeliveryDoc blDeliveryDoc);

    /**
     * 删除发货和配送单
     * 
     * @param deliveryId 发货和配送单主键
     * @return 结果
     */
    public int deleteBlDeliveryDocByDeliveryId(Long deliveryId);

    /**
     * 批量删除发货和配送单
     * 
     * @param deliveryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBlDeliveryDocByDeliveryIds(Long[] deliveryIds);


    /**
     * 找寻最小订单量配送员
     *
     * @param
     * @return 结果
     */
    public BlDeliveryDoc findBlDeliveryAssignUser(BlDeliveryDoc blDeliveryDoc);

    /**
     * 找出超时未接的订单
     *
     * @param
     * @return 结果
     */

    List<BlDeliveryDoc> findBlDeliveryTimeout(BlDeliveryDoc blDeliveryDoc);

    /**
     * 找出超时的配送用户
     *
     * @param
     * @return 结果
     */

    public BlDeliveryDoc findBlDeliveryAssignTimeOutUser(BlDeliveryDoc blDeliveryDoc);

    /**
     * 获取兜底配送
     *
     * @param blDeliveryDoc 用户信息
     * @return 结果
     */
    List<BlDeliveryDoc> selectfinalPsList(BlDeliveryDoc blDeliveryDoc);


}
